using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("CustomDeckPage")]
	public class CustomDeckPage : MonoBehaviour
	{
		public Vector3 m_customDeckStart => method_2<Vector3>("m_customDeckStart");

		public Vector3 m_customDeckScale => method_2<Vector3>("m_customDeckScale");

		public float m_customDeckHorizontalSpacing => method_2<float>("m_customDeckHorizontalSpacing");

		public float m_customDeckVerticalSpacing => method_2<float>("m_customDeckVerticalSpacing");

		public CollectionDeckBoxVisual m_deckboxPrefab => method_3<CollectionDeckBoxVisual>("m_deckboxPrefab");

		public Vector3 m_deckCoverOffset => method_2<Vector3>("m_deckCoverOffset");

		public GameObject m_deckboxCoverPrefab => method_3<GameObject>("m_deckboxCoverPrefab");

		public List<GameObject> m_customVineGlowToggle => method_3<Class251<GameObject>>("m_customVineGlowToggle")?.method_25();

		public List<GameObject> m_deckCovers => method_3<Class271<GameObject>>("m_deckCovers")?.method_25();

		public List<CollectionDeck> m_collectionDecks => method_3<Class271<CollectionDeck>>("m_collectionDecks")?.method_25();

		public List<CollectionDeckBoxVisual> m_customDecks => method_3<Class271<CollectionDeckBoxVisual>>("m_customDecks")?.method_25();

		public Texture m_customTrayStandardTexture => method_3<Texture>("m_customTrayStandardTexture");

		public Texture m_customTrayWildTexture => method_3<Texture>("m_customTrayWildTexture");

		public int m_numCustomDecks => method_2<int>("m_numCustomDecks");

		public static int MAX_CUSTOM_DECKS_TO_DISPLAY => MonoClass.smethod_6<int>(TritonHs.MainAssemblyPath, "", "CustomDeckPage", "MAX_CUSTOM_DECKS_TO_DISPLAY");

		public CustomDeckPage(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CustomDeckPage(IntPtr address)
			: this(address, "CustomDeckPage")
		{
		}

		public void Show()
		{
			method_8("Show");
		}

		public void Hide()
		{
			method_8("Hide");
		}

		public bool PageReady()
		{
			return method_11<bool>("PageReady", Array.Empty<object>());
		}

		public CollectionDeckBoxVisual GetDeckboxWithDeckID(long deckID)
		{
			return method_14<CollectionDeckBoxVisual>("GetDeckboxWithDeckID", new object[1] { deckID });
		}

		public void UpdateTrayTransitionValue(float transitionValue)
		{
			method_8("UpdateTrayTransitionValue", transitionValue);
		}

		public void PlayVineGlowBurst(bool useFX, bool hasValidStandardDeck)
		{
			method_8("PlayVineGlowBurst", useFX, hasValidStandardDeck);
		}

		public void SetTrayTextures(Texture standardTexture, Texture wildTexture)
		{
			method_8("SetTrayTextures", standardTexture, wildTexture);
		}

		public void EnableDeckButtons(bool enable)
		{
			method_8("EnableDeckButtons", enable);
		}

		public void TransitionWildDecks()
		{
			method_8("TransitionWildDecks");
		}

		public void UpdateDeckVisuals(bool isWild, bool checkFormat, bool forceStandardVisuals)
		{
			method_8("UpdateDeckVisuals", isWild, checkFormat, forceStandardVisuals);
		}

		public bool HasWildDeck()
		{
			return method_11<bool>("HasWildDeck", Array.Empty<object>());
		}

		public bool AreAllCustomDecksReady()
		{
			return method_11<bool>("AreAllCustomDecksReady", Array.Empty<object>());
		}

		public void InitCustomDecks()
		{
			method_8("InitCustomDecks");
		}

		public void OnSelectCustomDeck(CollectionDeckBoxVisual deckbox)
		{
			method_8("OnSelectCustomDeck", deckbox);
		}
	}
}
